<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<!-- 3、写一个方法将以下的输入iputArr 转化成 output的形式，数组转为树。
 let inputArr = [
            {
                id:2,val:'班级1',parentId:1,
            },
            {
                id:4,val:'班级3',parentId:1,
            },
            {
                id:5,val:'学生1',parentId:2,
            },
            {
                id:1,val:'学校'
            },
            {
                id:6,val:'学生2',parentId:3,
            },
            {
                id:3,val:'班级2',parentId:1,
            },
            {
                id:7,val:'学生3',parentId:4,
            }
        ]

        let output = {
            id:1,
            val: '学校' ,
            children:[{
                id:2,
                val: '班级1',
                children:[
                    {
                        id: 5,
                        val:'学生1'
                    }
                ]
            },{
                id:3,
                val: '班级2',
                children:[
                    {
                        id: 6,
                        val:'学生2'
                    }
                ]
            },{
                id:4,
                val: '班级3',
                children:[
                    {
                        id: 7,
                        val:'学生3'
                    }
                ]
            }]
        } -->



<body>
    <div>test3</div>
    <script>
        let inputArr = [
            {
                id: 2, val: '班级1', parentId: 1,
            },
            {
                id: 4, val: '班级3', parentId: 1,
            },
            {
                id: 5, val: '学生1', parentId: 2,
            },
            {
                id: 1, val: '学校'
            },
            {
                id: 6, val: '学生2', parentId: 3,
            },
            {
                id: 3, val: '班级2', parentId: 1,
            },
            {
                id: 7, val: '学生3', parentId: 4,
            }
        ]
        function loo1(inputArr, node) {
            for (let i = 0; i < inputArr.length; i++) {
                if (node.id === inputArr[i].parentId) {
                    node.children.push(inputArr[i])
                }
            }
        }
        function loo2(inputArr, node) {
            for (let i = 0; i < inputArr.length; i++) {
                for (let j = 0; j < node.children.length; j++) {
                    if (node.children[j].id === inputArr[i].parentId) {
                        node.children[j].children = []
                        node.children[j].children.push(inputArr[i])
                    }
                }
            }
        }
        function toTree(inputArr) {
            let a
            for (let i = 0; i < inputArr.length; i++) {
                if (!inputArr[i].parentId) {
                    a = inputArr[i]
                    a.children = []
                    loo1(inputArr, a)
                    loo2(inputArr, a)
                    console.log(a)
                }
            }
        }
        toTree(inputArr)
        let output = {
            id: 1,
            val: '学校',
            children: [{
                id: 2,
                val: '班级1',
                children: [
                    {
                        id: 5,
                        val: '学生1'
                    }
                ]
            }, {
                id: 3,
                val: '班级2',
                children: [
                    {
                        id: 6,
                        val: '学生2'
                    }
                ]
            }, {
                id: 4,
                val: '班级3',
                children: [
                    {
                        id: 7,
                        val: '学生3'
                    }
                ]
            }]
        } 
    </script>
</body>

</html>